Callback beim Löschen eines Logs
Protokolle sind dazu da, um Informationen zu zeigen und vorzuhalten. In Protokollen kann man alles mögliche ablegen. Was macht man aber, wenn das Protokoll selbst gelöscht wird? Es gibt keine Änderungbelege dafür…
Funktionsbaustein
Glücklicherweise hat die SAP hier Vorarbeit geleistet: Es wird bei jedem Löschen ein Funktionsbaustein aufgerufen mit der Namenskonvention
“BAL_DBDEL_” + Protokoll-Objekt
Merkwürdigerweise gibt es hier keinen Beispielbaustein, den man kopieren kann. Es gibt aber andere Bausteine im System, die als Vorlage dienlich sind.
Wenn Sie also ein Protokollobjekt “ZDATEN” haben, dann können Sie den Funktionsbaustein BAL_DBDEL_EACC kopieren auf BAL_DBDEL_ZDATEN.
Sobald der Baustein aktiv ist, wird bei Aufruf des Bausteins BAL_DB_DELETE, der auch in der Transaktion SLG2 verwendet wird, Ihr Baustein aufgerufen.
Hier können Sie dann weitere Daten löschen oder – wie im folgenden Beispiel – einen Eintrag ins Syslog vornehmen.
Callback-Funktion sinnvoll nutzen
function bal_dbdel_zdaten.
*”——————————————————————–
*”*”Lokale Schnittstelle:
*” IMPORTING
*” REFERENCE(I_T_LOGS_TO_DELETE) TYPE BALHDR_T
*” REFERENCE(I_IN_UPDATE_TASK) TYPE BOOLEAN
*”——————————————————————–
*———————————————————————
* THIS is THE CALLBACK Function Module for the Application Log
* -> HERE we can delete our own DB tables
* which we use for additional data storage for the our action log
*
* – the function module had to follow the naming convention
* BAL_DBDEL_… to get called !!!
*———————————————————————
* work areas
data: ls_log type balhdr.
loop at i_t_logs_to_delete into ls_log.
call function ‘RSLG_WRITE_SYSLOG_ENTRY’
exporting
data_word1 = ls_log-extnumber
data_word2 = sy-tcode
data_word3 = ‘ ‘
data_word4 = ‘ ‘
data_word5 = ‘ ‘
sl_message_area = ‘ZZ’
sl_message_subid = ‘1’ “Protokoll &A gelöscht, Transaktion &B”
exceptions
others = 5.
endloop.
endfunction.
Löschen verhindern?
Leider hat die SAP beim Vordenken versäumt, dass man evtl. auch das Löschen von bestimmten Protokollen verhindern möchte… Leider lässt sich das hier nur durch einen harten Abbruch mit z.B. MESSAGE X bewerkstelligen.
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024